FIG. 1 shows a conventional encoder 10 for coding a high-frequency serial data stream (e.g., DATA). Regardless of the nature of or constraints on the data, DATA is always encoded by encoder 10 to provide encoded data (e.g., DATA*).
FIG. 2 shows a conventional circuit 10′ for encoding a high-frequency serial data stream (e.g., DATA), comprising modulation encoder 12, ECC encoder 14, and write formatter 16. Conventional encoding circuit 10′ provides a conventional error checking and/or control (ECC) function for the data transmission. Encoding circuit 10′ also formats the encoded data for writing into a recording medium (e.g., a magnetic disk). Regardless of the nature of or constraints on the data, DATA is always encoded by circuit 10′ to provide encoded data (e.g., DATA*).
State of the art modulation codes for magnetic recording are very high rate codes with relatively loose constraints. For example, a run length limited (RLL) code constraint of (O,G/I)=(0,20/18) means at most 20 consecutive zeros, and at most 18 consecutive zeros in either the even or the odd interleave, respectively. For a randomly selected data sequence of 4000 identically and independently distributed bits where the probability of selecting a one is equal to the probability of selecting a zero, the probability that the RLL constraint is violated is about 1%, meaning that about 1 in 100 such sequences violates the constraint.
While random code may comply with some constraints the vast majority of the time, the probability that a randomly selected sequence violates a constraint can be very different for different constraints. For example, certain RLL code words may consist of a number of uncoded bytes and a number of encoded bytes, using an x/y code (where y=x+the number of encoding and/or parity bits). Constraints that may be imposed by this code include (i) at least 5 transitions for each code word and (ii) at least 1 transition in each interleave (e.g., in an even/odd interleave system, each of the 2 interleaves must have at least 1 transition therein). Since most randomly selected data words fulfill these two constraints without any coding (in the case described above, about 99% of the data words fulfilled the constraints), it could be beneficial and/or advantageous to devise a new type of coding where only those code words that need encoding (i.e., that do not fulfill coding constraints) are encoded, and those code words that do not need encoding (i.e., that fulfill coding constraints without being encoded) are not encoded.